本文同步更新於blog
解譯器模式會將類別分為兩類:
分別是語境類別 (Context)與表達式類別 (Expression)。
其中語境類別為待翻譯的資料。
透過客戶端依序呼叫不同的表達式類別來完成翻譯。
通常一種文法(規則)會對應一個表達式。
語言通常會是領域特定語言 (Domain Specific Language),
即專注於某個應用程式領域的計算機語言。
(例如:SQL, HTML, Regular Expressions)
優點:
用來定義簡單語言的文法,使它們可以被翻譯。
缺點:
程式碼複雜度提高。
當文法變得複雜時,難以維護。
ʕ •ᴥ•ʔ:程式界的翻譯蒟蒻!